Micron Document
NexusPi Git Node

Node / mirrors / MeshChatX / files / scripts / ci / github-warm-appimage-tools.sh

Displaying Raw • Download

scripts/ci/github-warm-appimage-tools.sh 4d3fa4cf8755d2b591f6adfaad1577626da43cf1 (4d3fa4cf) Text, 3.60 KB

T8b949e#!/usr/bin/env bash
T8b949e# Pre-download the electron-builder AppImage toolset into ELECTRON_BUILDER_CACHE.
T8b949e# GitHub release CDN over HTTP/2 (got inside electron-builder) often resets the
T8b949e# TLS stream after freeze has already finished (read ECONNRESET). curl HTTP/1.1
T8b949e# plus --retry-all-errors matches scripts/ci/setup-task.sh.
T8b949e#
T8b949e# Pins must match package.json build.toolsets.appimage and the sha256 in
T8b949e# app-builder-lib toolsets/linux.js for that version (electron-builder 26.15.3:
T8b949e# appimage@1.0.2).
Tffa657set -euo pipefail

Te6edf3ROOTTff7b72=Ta5d6ff"Tff7b72$(Tffa657cd Ta5d6ff"Tff7b72$(dirname Ta5d6ff"Te6edf3$0Ta5d6ff"Tff7b72)Ta5d6ff/../..Ta5d6ff" Tff7b72&& Tffa657pwdTff7b72)Ta5d6ff"
Tffa657cd Ta5d6ff"Te6edf3$ROOTTa5d6ff"

Te6edf3APPIMAGE_TOOLSETTff7b72=Ta5d6ff"1.0.2"
Te6edf3FILENAMETff7b72=Ta5d6ff"appimage-tools-runtime-20251108.tar.gz"
Te6edf3SHA256Tff7b72=Ta5d6ff"a784a8c26331ec2e945c23d6bdb14af5c9df27f5939825d84b8709c61dc81eb0"
Te6edf3RELEASE_NAMETff7b72=Ta5d6ff"Ta5d6ffappimage@Tffd700${Te6edf3APPIMAGE_TOOLSETTffd700}Ta5d6ff"
Te6edf3URLTff7b72=Ta5d6ff"Ta5d6ffhttps://github.com/electron-userland/electron-builder-binaries/releases/download/Tffd700${Te6edf3RELEASE_NAMETffd700}Ta5d6ff/Tffd700${Te6edf3FILENAMETffd700}Ta5d6ff"

Te6edf3pkg_toolsetTff7b72=Ta5d6ff"Tff7b72$(node -p Ta5d6ff"require('./package.json').build.toolsets.appimage" T79c0ff2>/dev/null Tff7b72|| Tffa657trueTff7b72)Ta5d6ff"
Tff7b72if Tff7b72[ Ta5d6ff"Te6edf3$pkg_toolsetTa5d6ff" !Tff7b72= Ta5d6ff"Te6edf3$APPIMAGE_TOOLSETTa5d6ff" Tff7b72]Tb4b4b4; Tff7b72then
Tffa657echo Ta5d6ff"Ta5d6ffgithub-warm-appimage-tools.sh: package.json build.toolsets.appimage is 'Tffd700${Te6edf3pkg_toolsetTff7b72:-Te6edf3missingTffd700}Ta5d6ff', script pin is 'Tffd700${Te6edf3APPIMAGE_TOOLSETTffd700}Ta5d6ff'Ta5d6ff" >Tb4b4b4&T79c0ff2
Tffa657echo Ta5d6ff"Update APPIMAGE_TOOLSET, FILENAME, and SHA256 in this script to match app-builder-lib." >Tb4b4b4&T79c0ff2
Tffa657exit T79c0ff1
Tff7b72fi

electron_builder_cache_dirTff7b72(Tff7b72) Tff7b72{
Tff7b72if Tff7b72[ -n Ta5d6ff"Tffd700${Te6edf3ELECTRON_BUILDER_CACHETff7b72:-Tffd700}Ta5d6ff" Tff7b72]Tb4b4b4; Tff7b72then
Tff7b72case Ta5d6ff"Tffd700${Te6edf3ELECTRON_BUILDER_CACHETffd700}Ta5d6ff" Tff7b72in
/*Tff7b72)
Tffa657printf Ta5d6ff'%s\n' Ta5d6ff"Tffd700${Te6edf3ELECTRON_BUILDER_CACHETffd700}Ta5d6ff"
Tff7b72return
Tb4b4b4;Tb4b4b4;
Tff7b72esac
Tff7b72fi
Tff7b72if Tff7b72[ -n Ta5d6ff"Tffd700${Te6edf3XDG_CACHE_HOMETff7b72:-Tffd700}Ta5d6ff" Tff7b72]Tb4b4b4; Tff7b72then
Tff7b72case Ta5d6ff"Tffd700${Te6edf3XDG_CACHE_HOMETffd700}Ta5d6ff" Tff7b72in
/*Tff7b72)
Tffa657printf Ta5d6ff'%s\n' Ta5d6ff"Tffd700${Te6edf3XDG_CACHE_HOMETffd700}Ta5d6ff/electron-builderTa5d6ff"
Tff7b72return
Tb4b4b4;Tb4b4b4;
Tff7b72esac
Tff7b72fi
Tffa657printf Ta5d6ff'%s\n' Ta5d6ff"Tffd700${Te6edf3HOMETffd700}Ta5d6ff/.cache/electron-builderTa5d6ff"
Tff7b72}

Te6edf3CACHE_DIRTff7b72=Ta5d6ff"Tff7b72$(electron_builder_cache_dirTff7b72)Ta5d6ff"
Te6edf3DEST_DIRTff7b72=Ta5d6ff"Tffd700${Te6edf3CACHE_DIRTffd700}Ta5d6ff/Tffd700${Te6edf3RELEASE_NAMETffd700}Ta5d6ff"
Te6edf3DESTTff7b72=Ta5d6ff"Tffd700${Te6edf3DEST_DIRTffd700}Ta5d6ff/Tffd700${Te6edf3FILENAMETffd700}Ta5d6ff"
mkdir -p Ta5d6ff"Te6edf3$DEST_DIRTa5d6ff"

hash_okTff7b72(Tff7b72) Tff7b72{
Tff7b72[ -f Ta5d6ff"Te6edf3$1Ta5d6ff" Tff7b72] Tff7b72|| Tff7b72return T79c0ff1
Tffa657local actual
Te6edf3actualTff7b72=Ta5d6ff"Tff7b72$(sha256sum Ta5d6ff"Te6edf3$1Ta5d6ff" Tb4b4b4| cut -dTa5d6ff' ' -f1Tff7b72)Ta5d6ff"
Tff7b72[ Ta5d6ff"Te6edf3$actualTa5d6ff" Tff7b72= Ta5d6ff"Te6edf3$SHA256Ta5d6ff" Tff7b72]
Tff7b72}

Tff7b72if hash_ok Ta5d6ff"Te6edf3$DESTTa5d6ff"Tb4b4b4; Tff7b72then
Tffa657echo Ta5d6ff"Ta5d6ffgithub-warm-appimage-tools.sh: using cached Tffd700${Te6edf3DESTTffd700}Ta5d6ff"
Tffa657exit T79c0ff0
Tff7b72fi

Tff7b72if Tff7b72[ Ta5d6ff"Tffd700${Te6edf3MESHCHATX_OFFLINE_BUILDTff7b72:-Te6edf30Tffd700}Ta5d6ff" Tff7b72= Ta5d6ff"1" Tff7b72]Tb4b4b4; Tff7b72then
Tffa657echo Ta5d6ff"Ta5d6ffgithub-warm-appimage-tools.sh: MESHCHATX_OFFLINE_BUILD=1 but Tffd700${Te6edf3DESTTffd700}Ta5d6ff is missing or checksum-mismatchedTa5d6ff" >Tb4b4b4&T79c0ff2
Tffa657exit T79c0ff1
Tff7b72fi

download_releaseTff7b72(Tff7b72) Tff7b72{
Te6edf3destTff7b72=Ta5d6ff"Te6edf3$1Ta5d6ff"
Te6edf3urlTff7b72=Ta5d6ff"Te6edf3$2Ta5d6ff"
Te6edf3tokenTff7b72=Ta5d6ff"Tffd700${Te6edf3GITHUB_TOKENTff7b72:-Tffd700${Te6edf3GH_TOKENTff7b72:-Tffd700}Tffd700}Ta5d6ff"
Tff7b72if Tff7b72[ -n Ta5d6ff"Te6edf3$tokenTa5d6ff" Tff7b72]Tb4b4b4; Tff7b72then
curl -fsSL --http1.1 Tffea00\
--retry T79c0ff8 Tffea00\
--retry-all-errors Tffea00\
--retry-delay T79c0ff4 Tffea00\
--retry-max-time T79c0ff180 Tffea00\
--connect-timeout T79c0ff20 Tffea00\
--max-time T79c0ff180 Tffea00\
-H Ta5d6ff"Ta5d6ffAuthorization: Bearer Tffd700${Te6edf3tokenTffd700}Ta5d6ff" Tffea00\
-o Ta5d6ff"Te6edf3$destTa5d6ff" Tffea00\
Ta5d6ff"Te6edf3$urlTa5d6ff"
Tff7b72else
curl -fsSL --http1.1 Tffea00\
--retry T79c0ff8 Tffea00\
--retry-all-errors Tffea00\
--retry-delay T79c0ff4 Tffea00\
--retry-max-time T79c0ff180 Tffea00\
--connect-timeout T79c0ff20 Tffea00\
--max-time T79c0ff180 Tffea00\
-o Ta5d6ff"Te6edf3$destTa5d6ff" Tffea00\
Ta5d6ff"Te6edf3$urlTa5d6ff"
Tff7b72fi
Tff7b72}

Te6edf3TMPTff7b72=Ta5d6ff"Tffd700${Te6edf3DESTTffd700}Ta5d6ff.tmpTa5d6ff"
rm -f Ta5d6ff"Te6edf3$TMPTa5d6ff" Ta5d6ff"Te6edf3$DESTTa5d6ff"
Tffa657echo Ta5d6ff"Ta5d6ffgithub-warm-appimage-tools.sh: downloading Tffd700${Te6edf3FILENAMETffd700}Ta5d6ff (Tffd700${Te6edf3RELEASE_NAMETffd700}Ta5d6ff)Ta5d6ff"
download_release Ta5d6ff"Te6edf3$TMPTa5d6ff" Ta5d6ff"Te6edf3$URLTa5d6ff"

Te6edf3ACTUALTff7b72=Ta5d6ff"Tff7b72$(sha256sum Ta5d6ff"Te6edf3$TMPTa5d6ff" Tb4b4b4| cut -dTa5d6ff' ' -f1Tff7b72)Ta5d6ff"
Tff7b72if Tff7b72[ Ta5d6ff"Te6edf3$ACTUALTa5d6ff" !Tff7b72= Ta5d6ff"Te6edf3$SHA256Ta5d6ff" Tff7b72]Tb4b4b4; Tff7b72then
Tffa657echo Ta5d6ff"Ta5d6ffgithub-warm-appimage-tools.sh: SHA256 mismatch for Tffd700${Te6edf3FILENAMETffd700}Ta5d6ff" >Tb4b4b4&T79c0ff2
Tffa657echo Ta5d6ff"Ta5d6ff expected: Tffd700${Te6edf3SHA256Tffd700}Ta5d6ff" >Tb4b4b4&T79c0ff2
Tffa657echo Ta5d6ff"Ta5d6ff got: Tffd700${Te6edf3ACTUALTffd700}Ta5d6ff" >Tb4b4b4&T79c0ff2
rm -f Ta5d6ff"Te6edf3$TMPTa5d6ff"
Tffa657exit T79c0ff1
Tff7b72fi

mv -f Ta5d6ff"Te6edf3$TMPTa5d6ff" Ta5d6ff"Te6edf3$DESTTa5d6ff"
Tffa657echo Ta5d6ff"Ta5d6ffgithub-warm-appimage-tools.sh: cached Tffd700${Te6edf3DESTTffd700}Ta5d6ff (Tffd700${Te6edf3ACTUALTffd700}Ta5d6ff)Ta5d6ff"

Served by rngit 1.5.2 - Generated in 0.03s